const util = require("../util/util");
// const whiteUrl = ['/api/users/login'] //管理员权限路由
module.exports = (options, app) => {
    return async function (ctx, next) {
        const path = ctx.request.url
        let status = true
        let role_id = '' //1:管理员 2：普通用户
        if (ctx.headers.authorization && /\/admin\//.test(path)) {
            const {
                data
            } = await ctx.service.user.userInfo()
            // console.log('status :>> ', status);
            // console.log("data",data)
            status = data.status
            role_id = data.role_id

            if (!status) {
                ctx.body = {
                    code: 403, // 服务端自身的处理逻辑错误(包含框架错误500 及 自定义业务逻辑错误533开始 ) 客户端请求参数导致的错误(4xx开始)，设置不同的状态码
                    msg: '用户被禁用，联系管理员开通'
                }
                return
            }
            if (role_id === 2) {
                ctx.body = {
                    code: 403, // 服务端自身的处理逻辑错误(包含框架错误500 及 自定义业务逻辑错误533开始 ) 客户端请求参数导致的错误(4xx开始)，设置不同的状态码
                    msg: '无权限'
                }
                return
            }


            //注入角色信息和用户id
            ctx.request.body.userRoleId = role_id
            ctx.request.body.userId = data.id

            //注入角色信息和用户id
            ctx.request.query.userRoleId = role_id
            ctx.request.query.userId = data.id
        }
        await next()


        // ctx.status = 200

    }
}
